home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / fbomber.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-09-17  |  6.3 KB  |  250 lines

  1. 10  KEY OFF:SCREEN 0:WIDTH 80
  2. 20  X=4500:CLS:PRINT:PRINT
  3. 30  RANDOMIZE TIMER
  4. 290  Z1=1000
  5. 300  Z2=1000
  6. 310  Z3=1000
  7. 320  Z4=1000
  8. 330  R=R+1
  9. 335  P=INT(RND*3)+1:P1=INT(RND*4)+9:C=INT(RND*2):IF C=0 THEN S=P ELSE S=P1
  10. 340  W1=0
  11. 350  X2=0
  12. 360  W3=0
  13. 370  W4=0
  14. 380  T=0
  15. 390  A1=0
  16. 400  A=0
  17. 410  V1=RND(1)
  18. 420  V=V1*1000
  19. 430  IF V<300 OR V>900 THEN 410
  20. 440  Y1=RND(1)
  21. 450  Y=Y1*500
  22. 460  IF Y<100 THEN 440
  23. 470  X=4500
  24. 480  PRINT" "
  25. 490  PRINT" "
  26. 500  E=X/V
  27. 510  PRINTTAB(30)"**INITIAL**"
  28. 520  PRINTTAB(30)"***STATS***"
  29. 530  GOTO 1430
  30. 540  W1=0
  31. 550  W2=0
  32. 560  W3=0
  33. 570  W4=0
  34. 580  PRINT" "
  35. 590  PRINT"BOMB COMMAND";
  36. 600  INPUT C$
  37. 610  IF C$="STAND BY"THEN 640
  38. 620  IF C$="DROP"THEN 1680
  39. 630  PRINT"UNRECOGNIZABLE COMMAND.  REPLY `STAND BY' OR `DROP'.":GOTO 590
  40. 640  PRINT"STANDING BY."
  41. 650  PRINT" "
  42. 660  GOTO 700
  43. 670  A=A-1
  44. 680  T=T-1
  45. 690  GOTO 770
  46. 700  PRINT"MAINTAIN PRESENT RESULANT ANGLE";
  47. 710  INPUT P$
  48. 720  PRINT" "
  49. 730  IF P$="YES"OR P$="Y"THEN 1130
  50. 740  IF P$="NO" OR P$="N"THEN 770
  51. 750  PRINT"REPLY `YES' OR `NO'.";
  52. 760  GOTO 710
  53. 770  PRINT"`CLIMB/DIVE' COMMAND";
  54. 780  INPUT A$,A1
  55. 790  PRINT" "
  56. 800  IF A1<0 THEN 830
  57. 810  IF A1>15 THEN 870
  58. 820  GOTO 930
  59. 830  PRINT"ANGLE INPUT MUST BE POSITIVE.  IF NECESSARY, CHANGE THE"
  60. 840  PRINT"`DIVE' COMMAND TO `CLIMB', OR VICE VERSA."
  61. 850  PRINT" "
  62. 860  GOTO 770
  63. 870  W1=W1+1
  64. 880  IF W1=2 THEN 2120
  65. 890  PRINT"YOUR BOMBER CANNOT TOLERATE THE STRESS CAUSED BY ANGLE"
  66. 900  PRINT"INPUTS EXCEEDING 15 DEGREES.  RECONSIDER YOUR CHOICE."
  67. 910  PRINT" "
  68. 920  GOTO 770
  69. 930  IF A$="CLIMB"THEN 950
  70. 940  A1=-A1
  71. 950  A=A+A1
  72. 960  IF A<-60 THEN 990
  73. 970  IF A>60 THEN 1060
  74. 980  GOTO 1140
  75. 990  W2=W2+1
  76. 1000  IF W2=2 THEN 2170
  77. 1010  PRINT"YOUR PRESENT `DIVE' COMMAND WILL EXCEED THE MAXIMUM RE-"
  78. 1020  PRINT"SULTANT DIVE ANGLE OF 60 DEGREES, CAUSING AN IRREVERSIBLE"
  79. 1030  PRINT"NOSEDIVE.  RECONSIDER YOUR CHOICE."
  80. 1040  PRINT" "
  81. 1050  GOTO 670
  82. 1060  W3=W3+1
  83. 1070  IF W3=2 THEN 2210
  84. 1080  PRINT"YOUR PRESENT `CLIMB' COMMAND WILL EXCEED THE MAXIMUM RE-"
  85. 1090  PRINT"SULTANT CLIMB ANGLE OF 60 DEGREES, CAUSING YOUR"
  86. 1100  PRINT"ENGINGES TO FAIL AND YOUR PLANE TO CRASH.  RECONSIDER YOUR"
  87. 1110  PRINT"CHOICE":PRINT" "
  88. 1120  GOTO 670
  89. 1130  '
  90. 1140  PRINT"AIRSPEED";
  91. 1150  INPUT V
  92. 1160  IF V>900 THEN 1190
  93. 1170  IF V<300 THEN 1230
  94. 1180  GOTO 1290
  95. 1190  PRINT"YOUR BOMBER ISN'T CAPABLE OF ATTAINING THAT VELOCITY."
  96. 1200  PRINT"INPUT AN AIRSPEED LESS THAN 900 FEET PER SECOND."
  97. 1210  PRINT" "
  98. 1220  GOTO 1150
  99. 1230  W4=W4+1
  100. 1240  IF W4=2 THEN 2250
  101. 1250  PRINT"IF YOUR VELOCITY ISN'T INCREASED IMMEDIATELY, YOUR BOMBER"
  102. 1260  PRINT"WILL FALL TO EARTH AND BE DESTROYED."
  103. 1270  PRINT" "
  104. 1280  GOTO 1140
  105. 1290  T=T+1
  106. 1300  B=A*3.14159/180
  107. 1310  Y=Y+V*SIN(B)
  108. 1320  IF Y>100 THEN 1390
  109. 1330  W5=W5+1
  110. 1340  IF W5=2 THEN 2290
  111. 1350  PRINT"IF YOUR ALITIUDE ISN'T INCREASED IMMEDIATELY TO A MIN-"
  112. 1360  PRINT"IMUM OF 100 FEET, A CRASH IS IMMINENT."
  113. 1370  PRINT" "
  114. 1380  GOTO 670
  115. 1390  X=X-V*COS(B)
  116. 1400  IF X<=0 THEN 2350
  117. 1410  E=X/(V*COS(B))
  118. 1420  PRINTTAB(30)"***STATS***"
  119. 1430  PRINT" "
  120. 1440  IF NOT(T=1)THEN 1470
  121. 1450  PRINTTAB(20)"ELAPSED TIME... 1 SECOND"
  122. 1460  GOTO 1480
  123. 1470  PRINTTAB(20)"ELAPSED TIME...";T;"SECONDS"
  124. 1480  IF NOT(A1=0)THEN 1510
  125. 1490  PRINTTAB(11)"PRESENT ANGLE COMMAND... 0 DEGREES"
  126. 1500  GOTO 1550
  127. 1510  IF A$="CLIMB"THEN 1540
  128. 1520  PRINTTAB(11)"PRESENT ANGLE COMMAND... DIVE,";-A1;"DEGREES"
  129. 1530  GOTO 1550
  130. 1540  PRINTTAB(11)"PRESENT ANGLE COMMAND... CLIMB,";A1;"DEGREES"
  131. 1550  IF A<0 THEN 1590
  132. 1560  IF A>0 THEN 1610
  133. 1570  PRINT TAB(17)"RESULTANT ANGLE... 0 DEGREES"
  134. 1580  GOTO 1620
  135. 1590  PRINTTAB(17)"RESULTANT ANGLE...";-A1;"DEGREES DIVING"
  136. 1600  GOTO 1620
  137. 1610  PRINTTAB(17)"RESULTANT ANGLE...";A;"DEGREES CLIMBING"
  138. 1620  PRINT TAB(15)"PRESENT VELOCITIY...";V;"FEET PER SECOND"
  139. 1630  PRINT TAB(24)"ALTITUDE...";Y;"FEET"
  140. 1640  PRINT TAB(14)"DISTANCE FROM SITE...";X;"FEET"
  141. 1650  PRINT TAB(7)"ESTIMATED TIME OF ARRIVAL...";E;"SECONDS"
  142. 1660  PRINT
  143. 1670  GOTO 540
  144. 1680  PRINT"BOMB DROPPED."
  145. 1690  T3=(SQR((V*SIN(B))^2+64.3693*Y)+V*SIN(B))/32.1847
  146. 1700  PRINT"TIME TO EXPLOSION... ";T3;"SECONDS"
  147. 1705  SOUND OFF:FOR S=4500 TO 1000 STEP-50:SOUND S,0.5:NEXT
  148. 1710  X=X-V*COS(B)*T3:XR=X-V*COS(B)*T3
  149. 1720  X=INT(X*100)/100
  150. 1730  IF X5>ABS(X5)THEN X5=ABS(X5):PRINT" "
  151. 1740  IF X<-20 THEN 1780
  152. 1750  IF X>20 THEN 1800
  153. 1760  PRINT"CONGRATULATIONS, YOU SCORED A PERFECT HIT.":PRINT"YOUR BOMB HIT LESS THAN 20 FEET FROM THE TARGET!!"
  154. 1765  SOUND OFF:PLAY"T200O3D8G8B8>D<B8>D2
  155. 1770  GOTO 2030
  156. 1780  PRINT"THE BOMB LANDED";-X;"FEET BEYOND THE TARGET'S CENTER."
  157. 1790  GOTO 1810
  158. 1800  PRINT"THE BOMB LANDED";X;"FEET IN FRONT OF THE TARGET'S CENTER."
  159. 1810  IF R=1 THEN 1850
  160. 1820  IF R=2 THEN 1870
  161. 1830  IF R=3 THEN 1890
  162. 1840  IF R=4 THEN 1910
  163. 1850  Z1=ABS(X)
  164. 1860  GOTO 2400
  165. 1870  Z2=ABS(X)
  166. 1880  GOTO 2420
  167. 1890  X3=ABS(X)
  168. 1900  GOTO 2440
  169. 1910  Z4=ABS(X)
  170. 1920  Z1=Z10(1):Z2=Z10(2):Z3=Z10(3):Z4=Z10(4)
  171. 1921  FOR M=1 TO 4
  172. 1922  FOR M1=4 TO 1 STEP-1
  173. 1923  IF Z10(M)<Z10(M1)THEN Z10(M)=X5
  174. 1924  IF M=M1 AND M=1 THEN 1930
  175. 1925  NEXT
  176. 1926  NEXT
  177. 1930  PRINT" "
  178. 1940  IF ABS(X)<=300 THEN 2000
  179. 1950  PRINT"DURING YOUR";R;"-PASS BOMBRUN, YOU FAILED TO EVEN"
  180. 1960  PRINT"THREATEN THE TARGET WITH A HIT.  BETTER LUCK NEXT TIME."
  181. 1970  IF R$="NO"OR R$="N"THEN 2590
  182. 1980  GOTO 2040
  183. 1990  GOTO 2610
  184. 2000  PRINT"DURING YOUR";R;"-PASS BOMBRUN, YOU MANAGED TO STRIKE"
  185. 2010  PRINT"WITHIN";ABS(X);"FEET OF THE TARGET":PRINT"WHICH IS CONSIDERED THREATENING" 
  186. 2020  PRINT" "
  187. 2030  IF R$="NO"OR R$="N"THEN 2590
  188. 2040  PRINT"WOULD YOU LIKE TO RELOAD AND PLAY AGAIN?"
  189. 2050  INPUT A$
  190. 2060  IF A$="NO"OR A$="N"THEN 2590
  191. 2070  IF A$="YES"OR A$="Y"THEN 2100
  192. 2080  PRINT"PLEASE REPLY `YES' OR `NO'."
  193. 2090  GOTO 2050
  194. 2100  R=0
  195. 2110  GOTO 290
  196. 2120  PRINT"YOU TORE THE WINGS OFF OF YOUR BOMBER BY EXCEEDING THE"
  197. 2130  PRINT"MAXIMUM ANGLE INPUT OF 15 DEGREES.  NEXT TIME TAKE MY ADVISE"
  198. 2140  PLAY"T150O3D2DG2.D2GB2.D2GB2.D2GB2.D2GB2.G2D2DG2.
  199. 2150  H=1
  200. 2160  GOTO 1920
  201. 2170  PRINT"THE STEEP DIVE ANGLE DESIRED CAUSED AN IRREVERISIBLE NOSE-"
  202. 2180  PRINT"DIVE, RESULTING IN THE DESTRUCTION OF YOUR BOMBER."
  203. 2185  PLAY"T150O3D2DG2.D2GB2.D2GB2.D2GB2.D2GB2.G2D2DG2.
  204. 2190  H=1
  205. 2200  GOTO 1920
  206. 2210  PRINT"THE ENGINES OF YOUR BOMBER FAILED WHILE CLIMBING THE"
  207. 2220  PRINT"STEEP ANGLE INPUT DURING YOUR ANGLE COMMAND OPPORTUNITY."
  208. 2225  PLAY"T150O3D2DG2.D2GB2.D2GB2.D2GB2.D2GB2.G2D2DG2.
  209. 2230  H=1
  210. 2240  GOTO 1920
  211. 2250  PRINT"THE VELOCITY OF YOUR BOMBER WAS INSUFFICIENT TO SUPPORT"
  212. 2260  PRINT"ITS WEIGHT, AND CONSEQUENTLY IT CRASHED."
  213. 2265  PLAY"T150O3D2DG2.D2GB2.D2GB2.D2GB2.D2GB2.G2D2DG2.
  214. 2270  H=1
  215. 2280  GOTO 1920
  216. 2290  PRINT"YOUR BOMBER FAILED TO MAINTAIN THE LOW ALTITUDE YOU DE-"
  217. 2300  PRINT"SIRED AND SOON CRASHED."
  218. 2305  PLAY"T150O3D2DG2.D2GB2.D2GB2.D2GB2.D2GB2.G2D2DG2.
  219. 2310  PRINT"BETTER LUCK NEXT TIME."
  220. 2320  H=1
  221. 2330  GOTO 1920
  222. 2340  '
  223. 2350  PRINT"YOUR BOMBER JUST PASTED UP THE TARGET, AND NEEDLESS TO":PRINT"SAY, YOU NO LONGER THREATEN ITS EXISTANCE THIS RUN."
  224. 2360  PRINT" "
  225. 2370  IF R=2 THEN 2420
  226. 2380  IF R=3 THEN 2440
  227. 2390  IF R=4 THEN 1920
  228. 2400  Q$=" SECOND "
  229. 2410  GOTO 2450
  230. 2420  Q$=" THIRD "
  231. 2430  GOTO 2450
  232. 2440  Q$=" FORTH AND FINAL "
  233. 2450  IF R>1 THEN 2490
  234. 2460  PRINT"YOU HAVE THUS FAR COMPLETED 1 RUN.  WOULD YOU LIKE TO"
  235. 2470  PRINT"MAKE ANOTHER PASS";
  236. 2480  GOTO 2510
  237. 2490  PRINT"YOU HAVE THUS FAR COMPLETED ";R;"RUNS.  WOULD YOU LIKE TO"
  238. 2500  PRINT"MAKE ANOTHER PASS";
  239. 2510  INPUT R$
  240. 2520  IF R$="YES"OR R$="Y"THEN 2560
  241. 2530  IF R$="NO"OR R$="N"THEN 1920
  242. 2540  PRINT"SIMPLY REPLY `YES' OR `NO'"
  243. 2550  GOTO 2510
  244. 2560  PRINT"YOUR PLANE HAS CIRCLED, AND IS NOW IN POSITION TO MAKE"
  245. 2570  PRINT"ITS";Q$;"PASS."
  246. 2580  GOTO 330
  247. 2590  PRINT"LOOK OVER THE PHYSICS LAWS GOVERNING FALLING BODIES,"
  248. 2600  PRINT"AND RETURN TO PLAY AGAIN SOON."
  249. 2610  END
  250.